import java.util.*;

//public class Main {
//    private static void quickSort(int[] arr, int left, int right)
//    {
//        if(left>=right)return;
//        int x = arr[(left + right + 1) / 2],i=left-1,j=right+1;
//        while(i < j)
//        {
//            do i++;while(arr[i]<x);
//            do j--;while(arr[j]>x);
//            // 交换arr[i]和arr[j]
//            if(i<j){
//                int temp = arr[i];
//                arr[i] = arr[j];
//                arr[j] = temp;
//            }
//        }
//        quickSort(arr,left,i-1);
//        quickSort(arr,i,right);
//    }
//    private static void mergeSort(int[] arr, int left, int right)
//    {
//        if(left>=right)return;
//        int mid = (left + right) / 2;
//        //递归
//        mergeSort(arr,left,mid);
//        mergeSort(arr,mid+1,right);
//        //合并
//        int i = left,j = mid + 1,k = 0;
//        int[] tmp = new int[right - left + 1];
//        while(i<=mid&&j<=right){
//            if(arr[i]<=arr[j])tmp[k++]=arr[i++];
//            else tmp[k++]=arr[j++];
//        }
//        while(i<=mid)tmp[k++]=arr[i++];
//        while(j<=right)tmp[k++]=arr[j++];
//        for(i=left,k=0;i<=right;i++,k++)
//            arr[i]=tmp[k];
//    }
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        System.out.println("Enter the size of array:");
//        int n = sc.nextInt();
//        int[] arr = new int[n];
//        System.out.println("Enter the elements of array:");
//        for(int i=0;i<n;i++)
//            arr[i] = sc.nextInt();
//        //quickSort(arr,0,n-1);
//        mergeSort(arr,0,n-1);
//        for(int num:arr)
//            System.out.print(num+" ");
//    }
//}

/*
1.1.1快速排序求第K个数
给定一个长度为 n 的整数数列，以及一个整数 k，请用快速选择算法求出数列从小到大排序后的第 k 个数。

输入格式

第一行包含两个整数 n和 k。

第二行包含 n个整数（所有整数均在 1∼1e9 范围内），表示整数数列。

输出格式

输出一个整数，表示数列的第 k小数。

数据范围

1≤n≤100000,
1≤k≤n

输入样例：

5 3
2 4 1 5 3
输出样例：

3
 */
//public class Main {
//    static int n, k;
//    static int[] arr = new int[100010];
//
//    private static int quickSelect(int l, int r, int k) {
//        if (l == r) return arr[l];
//        int x = arr[(l + r + 1) / 2], i = l - 1, j = r + 1;
//        while(i<j)
//        {
//            do i++;while(arr[i] < x);
//            do j--;while(arr[j] > x);
//            if(i<j){
//                int temp = arr[i];
//                arr[i] = arr[j];
//                arr[j] = temp;
//            }
//        }
//        int leftlen = j - l + 1;
//        if(leftlen >=k)return quickSelect(l, j, k);
//        else return quickSelect(j+1,r,k-leftlen);
//    }
//
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        n = sc.nextInt();
//        k = sc.nextInt();
//        for (int i = 0; i < n; i++) {
//            arr[i] = sc.nextInt();
//        }
//        int res = quickSelect(0, n-1, k);
//        System.out.println(res);
//    }
//}

/*
1.2.1求逆序对的数量
给定一个长度为 n 的整数数列，请你计算数列中的逆序对的数量。

逆序对的定义如下：对于数列的第 i个和第 j个元素，如果满足 i<j 且 a[i]>a[j]，则其为一个逆序对；否则不是。

输入格式

第一行包含整数 n，表示数列的长度。

第二行包含 n 个整数，表示整个数列。

输出格式

输出一个整数，表示逆序对的个数。

数据范围

1≤n≤100000，

数列中的元素的取值范围 [1,109]。

输入样例：

6

2 3 4 5 6 1

输出样例：

5
 */
public class Main {
    static int n;
    static int[] arr = new int[100010];

    static int mergeSortInversionPair(int l, int r) {
        if (l >= r) return 0;
        int mid = (l + r) / 2;
        int res = mergeSortInversionPair(l, mid) + mergeSortInversionPair(mid + 1, r);
        int i = l, j = mid + 1, k = 0;
        int[] tmp = new int[r - l + 1];
        while (i <= mid && j <= r) {
            if (arr[i] <= arr[j]) tmp[k++] = arr[i++];
            else {
                tmp[k++] = arr[j++];
                res += mid - i + 1;
            }
        }
        while (i <= mid) tmp[k++] = arr[i++];
        while (j <= r) tmp[k++] = arr[j++];
        for (k = 0, i = l; i <= r; i++, k++)
            arr[i] = tmp[k];
        return res;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        int res = mergeSortInversionPair(0, n - 1);
        System.out.println(res);
    }
}